The present invention relates to an application program interface and methods for combining any number of arbitrarily selected image modifications in an image while assigning those modifications easily to an image area and/or image color to provide for optimally adjusting color, contrast, sharpness, and other image-editing functions in the image-editing process.
It is a well-known problem to correct color, contrast, sharpness, or other specific digital image attributes in a digital image. It is also well-known to those skilled in image-editing that it is difficult to perform multiple color, contrast, and other adjustments while maintaining a natural appearance of the digital image.
At the current stage of image-editing technology, computer users can only apply relatively basic functions to images in a single action, such as increasing the saturation of all pixels of an image, removing a certain colorcast from the entire image, or increasing the image's overall contrast. Well-known image-editing tools and techniques such as layer masks can be combined with existing image adjustment functions to apply such image changes selectively. However, current methods for image editing are still limited to one single image adjustment at a time. More complex tools such as the Curves functions provided in image editing programs such as Adobe Photoshop® provide the user with added control for changing image color, but such tools are difficult to apply, and still very limited as they apply an image enhancement globally to the image.
Additional image editing tools also exist for reading or measuring color values in the digital image. In its current release, Adobe Photoshop® offers a feature that enables the user to place and move up to four color reference points in an image. Such color reference points read properties (limited to the color values) of the image area in which they are placed. It is known to those skilled in the art that the only purpose of such color reference points is to display the associated color values; there is no image operation associated with such reference points. The reference points utilized in image-editing software are merely offered as a control tool for measuring an image's color values at a specific point within the image.
In other implementations of reference points used for measuring color in specific image regions, image-editing applications such as Adobe Photoshop®, Corel Draw®, and Pictographics iCorrect 3.0®, allow the user to select a color in the image by clicking on a specific image point during a color enhancement and perform an operation on the specific color with which the selected point is associated. For example, the black-point adjustment in Adobe Photoshop® allows the user to select a color in the image and specify the selected color as black, instructing the software to apply a uniform color operation to all pixels of the image, so that the desired color is turned into black. This method is not only available for black-point operations, but for pixels that are intended to be white, gray (neutral), skin tone, or sky, etc.
While each of these software applications provide methods for reading a limited number of colors and allow for one single operation which is applied globally and uniformly to the image and which only applies one uniform color cast change based on the read information, none of the methods currently used allow for the placement of one or more graphical representations of image reference points (IRPs) in the image that can read color or image information, be assigned an image editing function, be associated with one or more image reference points (IRPs) in the image to perform image-editing functions, be moved, or be modified by the user such that multiple related and unrelated operations can be performed.
What is needed is an application program interface and methods for editing digital images that enable the user to place multiple, arbitrary reference points in a digital image and assign image-editing functions, weighted values or any such combinations to enable multiple image-editing functions to be applied to an image.